package jp.co.systemi.asp.workflow.data;

import java.io.Serializable;
import java.util.Date;

import org.slim3.datastore.Attribute;
import org.slim3.datastore.CreationDate;
import org.slim3.datastore.CreationUser;
import org.slim3.datastore.Model;
import org.slim3.datastore.ModificationDate;
import org.slim3.datastore.ModificationUser;

import com.google.appengine.api.datastore.Key;

@Model
public class Approver implements Serializable{
    private static final long serialVersionUID = -2617951641879272183L;
    @Attribute(primaryKey = true)
    private Key id;
    private Key routeId;
    private String role;		// 基本的に役割を指定する
    private Integer seq;
    private String groupCode;
    @Attribute(listener = CreationDate.class)
    private Date regDate = null;
    @Attribute(listener = CreationUser.class)
    private com.google.appengine.api.users.User regUser;
    @Attribute(listener = ModificationDate.class)
    private Date updDate = null;
    @Attribute(listener = ModificationUser.class)
    private com.google.appengine.api.users.User updUser;

    // 保存しない項目
    @Attribute(persistent = false)
    private Boolean select;
    @Attribute(persistent = false)
    private String loginId;	//実際の承認者ID
    @Attribute(persistent = false)
    private String userName; //実際の承認者姓名
    @Attribute(persistent = false)
    private String groupName; 	//実際の承認者の所属組織名

    public com.google.appengine.api.users.User getRegUser() {
        return regUser;
    }

    public void setRegUser(com.google.appengine.api.users.User user) {
        this.regUser = user;
    }

    public void setUpdUser(com.google.appengine.api.users.User updUser) {
        this.updUser = updUser;
    }

    public com.google.appengine.api.users.User getUpdUser() {
        return updUser;
    }

    public Key getId() {
        return id;
    }

    public void setId(Key id) {
        this.id = id;
    }
    public Date getRegDate() {
        return regDate;
    }

    public void setRegDate(Date regDate) {
        this.regDate = regDate;
    }

    public Date getUpdDate() {
        return updDate;
    }

    public void setUpdDate(Date updDate) {
        this.updDate = updDate;
    }

    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public Boolean getSelect() {
        return select;
    }

    public void setSelect(Boolean select) {
        this.select = select;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }

    public Key getRouteId() {
        return routeId;
    }

    public void setRouteId(Key routeId) {
        this.routeId = routeId;
    }

    public String getLoginId() {
        return loginId;
    }

    public void setLoginId(String loginId) {
        this.loginId = loginId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getGroupCode() {
        return groupCode;
    }

    public void setGroupCode(String groupCode) {
        this.groupCode = groupCode;
    }

}
